1. Field of the Invention
The present invention relates to data processing. More specifically, the invention is generally related to methods for formatting electronic documents.
2. Background of the Related Art
In recent years, the popularity of the Internet has grown dramatically. One reason for such growth has been the widespread adoption of HTML (HyperText Markup Language), which is a language for describing document appearance, document layout and hyperlink specifications. HTML defines the syntax that describe the structure and the content of a document including text, images, and other supported media. Using HTML, a Web page can be created which contain, bitmap images, graphic images, text of various styles and sizes, and other formatting attributes and contents. HTML also provides connections among documents and other Internet resources through hyperlinks such as hypertext links and hypermedia links. Each hyperlink is associated with a Uniform Resource Locator (URL) of a destination HTML document, which is loaded and displayed when the link is selected by the user. Hyperlinks permit a viewer of the Web page to easily jump to another point within the page or to a completely different Web page, even one located on a different server. Using hypertext links and hypermedia links, users can connect to words, pictures, sounds and any other data files which can be stored on a computer.
An HTML document is located at an address represented by a URL, and may reside on a user's own computer, or on another computer networked with the user's computer. In particular, the HTML document may reside on a networked computer (called a host) with an Internet address. A logical grouping of HTML documents on a given host is known as a website and all websites taken together constitute the World Wide Web (WWW). Once an HTML file is made available on the World Wide Web via a server, any client connected to the World Wide Web can access the page using a software interface known as a browser. Access is typically accomplished by typing the URL in the appropriate browser field (or retrieving the address from a file, such as a bookmark file). After the URL has been entered, the browser requests the server to send the HTML file.
To display the HTML file, the browser relies on HTML commands embedded in the HTML file. These commands are referred to as “tags”. The tags indicate features or elements of a page and cause the browser to perform various functions, such as a particular type of formatting. HTML tags can be identified in HTML files by their syntax. That is, the tags are surrounded by left angle brackets (initiating a tag function) and right angle brackets (turning the tag function off). The first word in a tag is its formal name, which is typically descriptive of its function. Any additional words in a tag are special attributes, sometimes with an associated value after an equal sign (=), which further define or modify the tag's actions. For example, a tag and attribute combination may define background color, background audio, inline images, a hyperlink, the beginning of a new paragraph and the like.
Despite the increasing flexibility offered by current versions of HTML, a programmer's ability to create web pages is often limited. As a result, considerable effort is expended by Web designers when authoring visually appealing and useful Web pages. For example, it is often desirable to rely on existing HTML pages in creating new electronic documents. In an attempt to provide greater programming flexibility, HTML offers formatting tools such as “frames.” Frames are formatting feature allowing a browser window to be divided into multiple display areas, each containing a different document. A frame may contain any valid content that a browser is capable of displaying, including multimedia. If a frame's contents include a hypertext link the user selects, the new document's contents may replace that same frame, another frame's content, or the entire browser window. Frames are defined in a special HTML document in which the <body> tag is replaced with one or more <frameset> tags that tell the browser how to divide its main window into discrete frames. Special <frame> tags go inside the <frameset> tag and point to the documents that go inside the frames.
One problem with frames is that they only define a static display area in a browser window. Each frame in a window is essentially an independent, non-overlapping electronic document. In addition, frames are constrained by rigid formatting requirements. For example, the layout of a document within a frame cannot be changed once the document is created. Therefore, changes to the layout and/or the content of frames requires rewriting the source code for the respective frame.
One attempt to overcome the formatting limitations of HTML documents provides for nesting of other documents within a primary HTML document. Such a method is used to specify one or more nested documents which will be displayed within a primary document by inserting a special reference tag into the primary document. The primary reference tag is also used to specify the display layout of the nested documents, and the display techniques used for presenting the nested documents within the primary document.
While nesting of documents provides additional flexibility over frames, other disadvantages remain. For example, the nested documents exclusively occupy portions of the primary document, thereby rendering those portions of the primary document unviewable and inaccessible to users.
Another attempt to provide additional programming flexibility is the <layer> tag made available by Netscape 4.0. Layers allow for the positioning of content within the browser window. Layers let a programmer define a self-contained unit of HTML content that can be positioned anywhere in the browser window. The content of the layer can be defined between the layer tags or, alternatively, can be retrieved from another HTML document using the src attribute. However, documents retrieved using the src attribute are not true HTML documents and in particular, do not contain <body> or <head> tags. In addition, as with other prior art formatting features, layers render the underlying content of an HTML document inactive.
Therefore, there is a need for additional formatting flexibility for use with electronic documents such as HTML documents.